/*
 * Archivo.h
 *
 *  Created on: 18/04/2014
 *      Author: manuel
 */

#ifndef ARCHIVO_H_
#define ARCHIVO_H_

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string>

#include "Bloque.h"
#include "Byte.h"

class Archivo {

private:
	std::fstream archivo;
	std::string path;

	void crear();

public:
	Archivo(std::string);
	virtual ~Archivo();

	int abrir();
	int cerrar();
	int termino();

	int bytesLeidos();
	unsigned int getTamano();

	bool leerBloque(Bloque& unBloque);
	bool escribirBloque(Bloque& unBloque);

	bool leerByte(Byte& unByte);
	bool escribirByte(Byte& unByte);
};

#endif /* ARCHIVO_H_ */
